import { ColumnGroupType, ColumnType } from "antd/es/table"

import { renderNullableValue } from "./venueProfitAndLoss"

const statusOverviewTripartite = (
	newFormat: (arg: string) => string
): Record<string, ColumnGroupType<any> | ColumnType<any>> => ({
	staticsDate: {
		key: "staticsDate",
		dataIndex: "staticsDate",
		width: 200,
		render: renderNullableValue("staticsDate"),
		title: newFormat("report.staticsDate"),
		align: "center",
		fixed: false
	},
	platformNewMemberNum: {
		key: "newMemberNum",
		dataIndex: "newMemberNum",
		width: 120,
		render: renderNullableValue("newMemberNum"),
		title: newFormat("report.new_member_num"),
		align: "center",
		fixed: false
	},
	platformValidUserCount: {
		key: "validUserCount",
		dataIndex: "validUserCount",
		width: 120,
		render: renderNullableValue("validUserCount"),
		title: newFormat("report.valid_user_count"),
		align: "center",
		fixed: false
	},
	platformActiveMemberNum: {
		key: "activeMemberNum",
		dataIndex: "activeMemberNum",
		width: 120,
		render: renderNullableValue("activeMemberNum"),
		title: newFormat("report.active_member_num"),
		align: "center",
		fixed: false
	},
	platformBetAmount: {
		key: "betAmount",
		dataIndex: "betAmount",
		width: 120,
		render: renderNullableValue("betAmount", "$"),
		title: newFormat("report.platform_bet_amount"),
		align: "center",
		fixed: false
	},
	platformValidBetAmount: {
		key: "validBetAmount",
		dataIndex: "validBetAmount",
		width: 120,
		render: renderNullableValue("validBetAmount", "$"),
		title: newFormat("report.platform_valid_bet_amount"),
		align: "center",
		fixed: false
	},
	platformNetAmount: {
		key: "netAmount",
		dataIndex: "netAmount",
		width: 120,
		render: renderNullableValue("netAmount"),
		title: newFormat("report.platform_net_amount"),
		align: "center",
		fixed: false
	},
	platformNetRate: {
		key: "netRate",
		dataIndex: "netRate",
		width: 120,
		render: renderNullableValue("netRate", "", "", false, "%"),
		title: newFormat("report.platform_net_rate"),
		align: "center",
		fixed: false
	},
	platformPlatformNetAmount: {
		key: "platformNetAmount",
		dataIndex: "platformNetAmount",
		width: 120,
		render: renderNullableValue("platformNetAmount"),
		title: newFormat("report.platform_platform_net_amount"),
		align: "center",
		fixed: false
	},
	platformCommissionNetAmount: {
		key: "commissionNetAmount",
		dataIndex: "commissionNetAmount",
		width: 120,
		render: renderNullableValue("commissionNetAmount"),
		title: newFormat("report.platform_commission_net_amount"),
		align: "center",
		fixed: false
	},
	platformPlatformRebateAmount: {
		key: "platformRebateAmount",
		dataIndex: "platformRebateAmount",
		width: 120,
		render: renderNullableValue("platformRebateAmount", "$"),
		title: newFormat("report.platform_rebate_amount"),
		align: "center",
		fixed: false
	},
	platformCommissionRebateAmount: {
		key: "commissionRebateAmount",
		dataIndex: "commissionRebateAmount",
		width: 120,
		render: renderNullableValue("commissionRebateAmount", "$"),
		title: newFormat("report.platform_commission_rebate_amount"),
		align: "center",
		fixed: false
	},
	platformCommissionRebate: {
		key: "commissionRebate",
		dataIndex: "commissionRebate",
		width: 120,
		render: renderNullableValue("commissionRebate", "", "", false, "%"),
		title: newFormat("report.platform_commission_rebate"),
		align: "center",
		fixed: false
	},
	platformTotalAcctadjustAmount: {
		key: "totalAcctadjustAmount",
		dataIndex: "totalAcctadjustAmount",
		width: 120,
		render: renderNullableValue("totalAcctadjustAmount"),
		title: newFormat("report.platform_acctadjust"),
		align: "center",
		fixed: false
	},
	platformPlatformIncomeAmount: {
		key: "platformIncomeAmount",
		dataIndex: "platformIncomeAmount",
		width: 120,
		render: renderNullableValue("platformIncomeAmount"),
		title: newFormat("report.platform_income_amount"),
		align: "center",
		fixed: false
	},
	platformPlatformBottomAmount: {
		key: "platformBottomAmount",
		dataIndex: "platformBottomAmount",
		width: 120,
		render: renderNullableValue("platformBottomAmount"),
		title: newFormat("report.platform_bottom_amount1"),
		align: "center",
		fixed: false
	},
	platformPlatformAllIncomeAmount: {
		key: "platformAllIncomeAmount",
		dataIndex: "platformAllIncomeAmount",
		width: 120,
		render: renderNullableValue("platformAllIncomeAmount"),
		title: newFormat("report.platform_all_income_amount"),
		align: "center",
		fixed: false
	},
	platformOperate: {
		key: "operate",
		dataIndex: "operate",
		width: 120,
		render: renderNullableValue("operate"),
		title: newFormat("report.platform_operate"),
		align: "center",
		fixed: "right"
	},
	platformReportDate: {
		key: "reportDate",
		dataIndex: "reportDate",
		width: 120,
		render: renderNullableValue("reportDate"),
		title: newFormat("report.date"),
		align: "center",
		fixed: false
	},
	platformMerchantName: {
		key: "merchantName",
		dataIndex: "merchantName",
		width: 120,
		render: renderNullableValue("merchantName"),
		title: newFormat("report.platform_merchant"),
		align: "center",
		fixed: false
	},
	platformUserName: {
		key: "userName",
		dataIndex: "userName",
		width: 120,
		render: renderNullableValue("userName"),
		title: newFormat("report.platform_username"),
		align: "center",
		fixed: false
	},
	platformParentProxyName: {
		key: "parentProxyName",
		dataIndex: "parentProxyName",
		width: 120,
		render: renderNullableValue("parentProxyName"),
		title: newFormat("report.platform_parent_proxy_name"),
		align: "center",
		fixed: false
	},
	platformTopProxyName: {
		key: "topProxyName",
		dataIndex: "topProxyName",
		width: 120,
		render: renderNullableValue("topProxyName"),
		title: newFormat("report.platform_top_proxy_name"),
		align: "center",
		fixed: false
	},
	platformBetAmount1: {
		key: "betAmount",
		dataIndex: "betAmount",
		width: 120,
		render: renderNullableValue("betAmount", "$"),
		title: newFormat("report.platform_bet_amount1"),
		align: "center",
		fixed: false
	},
	platformNetAmount1: {
		key: "netAmount",
		dataIndex: "netAmount",
		width: 120,
		render: renderNullableValue("netAmount", "$"),
		title: newFormat("report.platform_net_amount1"),
		align: "center",
		fixed: false
	},
	platformZhanchengRate: {
		key: "zhanchengRate",
		dataIndex: "zhanchengRate",
		width: 120,
		render: renderNullableValue("zhanchengRate", "", "", false, "%"),
		title: newFormat("report.platform_zhancheng_rate"),
		align: "center",
		fixed: false
	},
	platformBackflowRate: {
		key: "backflowRate",
		dataIndex: "backflowRate",
		width: 120,
		render: renderNullableValue("backflowRate", "", "", false, "%"),
		title: newFormat("report.platform_back_flow_rate"),
		align: "center",
		fixed: false
	},
	platformRebateRate: {
		key: "rebateRate",
		dataIndex: "rebateRate",
		width: 120,
		render: renderNullableValue("rebateRate", "", "", false, "%"),
		title: newFormat("report.platform_rebate_rate"),
		align: "center",
		fixed: false
	},
	platformNetwinAmount: {
		key: "netwinAmount",
		dataIndex: "netwinAmount",
		width: 120,
		render: renderNullableValue("netwinAmount", "$"),
		title: newFormat("report.platform_net_win_amount"),
		align: "center",
		fixed: false
	},
	platformPlatformBottomAmount1: {
		key: "platformBottomAmount",
		dataIndex: "platformBottomAmount",
		width: 120,
		render: renderNullableValue("platformBottomAmount", "$"),
		title: newFormat("report.platform_bottom_amount"),
		align: "center",
		fixed: false
	},
	platformCreatedBy: {
		key: "createdBy",
		dataIndex: "createdBy",
		width: 120,
		render: renderNullableValue("createdBy"),
		title: newFormat("report.platform_created_by"),
		align: "center",
		fixed: false
	},
	platformCreatedAt: {
		key: "createdAt",
		dataIndex: "createdAt",
		width: 120,
		render: renderNullableValue("createdAt"),
		title: newFormat("report.platform_created_at"),
		align: "center",
		fixed: false
	},
	platformUpdatedBy: {
		key: "updatedBy",
		dataIndex: "updatedBy",
		width: 120,
		render: renderNullableValue("updatedBy"),
		title: newFormat("report.platform_updated_by"),
		align: "center",
		fixed: false
	},
	platformUpdatedAt: {
		key: "updatedAt",
		dataIndex: "updatedAt",
		width: 120,
		render: renderNullableValue("updatedAt"),
		title: newFormat("report.platform_updated_at"),
		align: "center",
		fixed: false
	},
	platformOperating: {
		key: "operating",
		dataIndex: "operating",
		width: 160,
		render: renderNullableValue("operating"),
		title: newFormat("report.platform_operating"),
		align: "center",
		fixed: "right"
	}
})

export default statusOverviewTripartite
